package com.xbxkj.api.app.mini.controller;

import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
import cn.binarywang.wx.miniapp.config.WxMaConfig;
import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
import cn.binarywang.wx.miniapp.config.impl.WxMaRedisConfigImpl;
import com.xbxkj.api.app.mini.config.wx.WxMaConfiguration;
import com.xbxkj.commen.controller.BaseController;
import com.xbxkj.commen.controller.entity.ApiCode;
import com.xbxkj.commen.controller.helper.$;
import com.xbxkj.commen.controller.model.ApiResultModel;
import org.springframework.http.converter.HttpMessageNotReadableException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * @author 张子艺
 * @packge com.xbxkj.api.app.mini.controller
 * @data 2019-12-31 10:48
 * @project HuaZhouDelivery
 */
public class MiniAppBaseController  extends BaseController {


   /**
    * 程序异常
    * 因为有切面日志的原因如果控制层报错 则会打印两次日志  一次是请求的切点 一次是 本异常类的切点
    *
    * @param e
    * @return
    */
   @ExceptionHandler(Exception.class)
   @ResponseBody
   public ApiResultModel<Object> serverException(Exception e) {
      e.printStackTrace(System.out);
      if(e instanceof HttpMessageNotReadableException){
         return $.error(ApiCode.parameter_error,"不被支持的参数类型");
      }
      return $.error("错误，错误类型："+e.getMessage());
   }
}
